package com.ruoyi.syf.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.syf.domain.EscalationLog;

/**
 * 上报记录Service接口
 *
 * @author yr
 * @date 2024-08-26
 */
public interface IEscalationLogService extends IService<EscalationLog> {

    /**
     * 查询上报记录列表
     *
     * @param escalationLog 上报记录
     * @return 上报记录集合
     */
    public List<EscalationLog> list(EscalationLog escalationLog);

    /**
     * 批量删除上报记录
     *
     * @param ids 需要删除的上报记录主键集合
     * @return 结果
     */
    public int deleteEscalationLogByIds(Long[] ids);

    /**
     * 删除上报记录信息
     *
     * @param id 上报记录主键
     * @return 结果
     */
    public int deleteEscalationLogById(Long id);

    /**
     * 根据上报数据类别查询最新数据
     * @param escalationType 上报数据类别
     */
    EscalationLog getLastTimeLog(String escalationType);

    /**
     * 构建上传成功日志对象
     *
     * @param data           数据
     * @param type           上报类型
     * @param escalationType 上报数据类型
     */
    EscalationLog buildSucEscalationLog(String data, String type, String escalationType);

    /**
     * 构建上传失败日志对象
     *
     * @param data           数据
     * @param type           上报类型
     * @param escalationType 上报数据类型
     * @param error          错误信息
     * @param message        错误详情
     */
    EscalationLog buildErrEscalationLog(String data, String type, String escalationType, String error, String message);

}
